查看原文
其他

StatQuest生物统计学专题 - 决策树(1)

冰糖 生信菜鸟团 2022-06-07

目录

决策树是什么决策树构建方法

决策树是什么

决策树(Decision Tree)是一种有监督分类机器学习算法,它通过非常简单的计算就可以从已知数据中得出一个决策树,这个决策树就可以用于解决实际的问题。

如下图就是一个决策树,决策树里面的数据可以是分类数据,也可以是数值数据。

一般将最上面的节点称为Root Node,中间的节点称为Internal Nodes或Nodes,最下面的节点称为Leaf Nodes。

StatQuest-XXI-1

为了便于理解,我们可以把根节点(Root)和内部节点(Internal Nodes)理解为“自变量”,而叶节点(Leaf Nodes)称为“因变量”。

正是通过根节点和内部节点的计算,得到了最终结果(叶节点)。

决策树构建方法

决策树是一种有监督机器学习算法,所以需要一个已知数据用于计算,这种数据分为两部分:我们可以分别将其理解为“自变量”和“因变量”。

决策树的构建方法:

首先从根节点开始,逐一尝试所有选项(自变量),并选择一个最佳的选项作为根节点;

然后限定根节点,再逐一尝试剩余选项(自变量),并选择一个最佳的选项作为内部节点;

以此类推,直到完成全部的节点构建。

下面是一个例子:

希望通过如下数据的Chest pain、Good Blood Circulation以及Blocked Arteries来得出一个决策树,以用于预测病人是否有Heart Disease。

这里的Chest pain、Good Blood Circulation以及Blocked Arteries就是自变量,而Heart Disease就是因变量。

StatQuest-XXI-2
  1. 先从第一步开始——得到最佳的根节点

    要想获得根节点,那么就分别将Chest pain、Good Blood Circulation以及Blocked Arteries作为根节点,然后看此时的分类情况,谁最好就选谁。

    StatQuest-XXI-3

    如图所示,已经得到三个参数分别为根节点时的决策树,那么究竟哪一个最好呢?

    有很多方法去衡量三个分类树的优劣,这里使用一种叫做Gini的方法,Gini用于衡量每一个决策树的impurity(不纯净度),Gini值越低越好,它的计算非常简单:

    Gini impurity=1-(1-probability of "Yes")^2-(1-probability of "No")^2

    比如对于Chest pain决策树来说,

    左侧Gini impurity=1-(105/(105+39))^2-(39/(105+39))^2=0.395

    右侧Gini impurity=1-(34/(34+125))^2-(125/(34+125))^2=0.336

    由于左右两侧的样本数是不一样的,左侧为144个病人,右侧为159个病人,再将左侧Gini impurity和右侧Gini impurity加权平均即可。

    所以,

    Gini impurity=(144/(144+159))*0.395-(159/(144+159))*0.336=0.364

    同样方法就可以得到剩余两个决策树的Gini impurity值。

    StatQuest-XXI-4

    由于Good Blood Circulation的Gini值最小,所以最佳的根节点是Good Blood Circulation。

  2. 限定根节点为Good Blood Circulation,同样方法找到最佳的内部节点

    同样的方法,先从左侧分支开始,

    左侧分支分别使用Chest Pain和Blocked Arteries进行决策树构建,然后计算相应的Gini impurity值。

    如下图,Blocked Arteries的Gini值更小,因此将Blocked Arteries作为左侧分支下的二级节点。

    StatQuest-XXI-5
  3. 继续限定二级节点为Blocked Arteries,完成最终的左侧分支

    目前只剩下Chest Pain没有使用,我们逐一带入Chest Pain,

    对于左侧的24/25来说,Chest Pain进一步分为17/3,7/22。

    对于右侧的13/102来说,Chest Pain进一步分为7/26,6/76。

    StatQuest-XXI-7

    我们可以发现,对于左侧分支,Chest Pain进一步分为17/3,7/22,要比原来的24/25的区分效果要好,因为24/25几乎是没有区分效果,两者数量几乎相同。

    但是右侧分支不同,13/102的区分效果已经比较好了,此时的Gini值为0.2,然而进一步区分之后,经过计算Gini值为0.29,因此右侧分支不再进一步区分。

  4. 最终按照同样的方法获得整个决策树

    如下图所示:

    StatQuest-XXI-7

    本周的决策树就到这里,下周继续关注决策树,探讨数值数据以及多分类数据的决策树构建、缺失值的处理方法等问题。

专题以往文章

  1. StatQuest生物统计学专题 - 基础概念

  2. StatQuest生物统计学专题 - p值

  3. StatQuest生物统计学专题 - 生物重复和技术重复

  4. StatQuest生物统计学专题 - RPKM,FPKM,TPM

  5. StatQuest生物统计学专题 - library normalization进阶之DESeq2的标准化方法

  6. StatQuest生物统计学专题 - library normalization进阶之edgeR的标准化方法

  7. StatQuest生物统计学 - Independent Filtering

  8. StatQuest生物统计学 - FDR及Benjamini-Hochberg方法

  9. StatQuest生物统计学 - 拟合基础

  10. StatQuest生物统计学 - 线性拟合的R2和p值

  11. StatQuest生物统计学专题 - 分位数及其应用

  12. StatQuest生物统计学专题 - 极大似然估计

  13. StatQuest生物统计学专题 - PCA

  14. StatQuest生物统计学专题 - PCA的奇异值分解过程

  15. StatQuest生物统计学专题 - LDA

  16. StatQuest生物统计学专题 - MDS

  17. StatQuest生物统计学专题 - tSNE的基础概念

  18. StatQuest生物统计学专题 - 聚类及其算法(1)

  19. StatQuest生物统计学专题 - 聚类及其算法(2)

  20. StatQuest生物统计学专题 - K近邻算法

参考资料

StatQuest课程:https://statquest.org/video-index/


猜你喜欢

生信基础知识100讲

生信菜鸟团-专题学习目录(5)

生信菜鸟团-专题学习目录(6)

生信菜鸟团-专题学习目录(7)

还有更多文章,请移步公众号阅读

▼ 如果你生信基本技能已经入门,需要提高自己,请关注下面的生信技能树,看我们是如何完善生信技能,成为一个生信全栈工程师。

   

▼ 如果你是初学者,请关注下面的生信菜鸟团,了解生信基础名词,概念,扎实的打好基础,争取早日入门。

   


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存